package cn.suimg.bilibili.bean;

/**
 * 操作枚举
 */
public enum Option {

    /**
     * 客户端心跳包
     */
    HEARTBEAT(2),

    /**
     * 服务端心跳回复包
     */
    HEARTBEAT_REPLY(3),

    /**
     * 发送弹幕
     */
    SEND_MSG(4),

    /**
     * 发送弹幕回复包
     */
    SEND_MSG_REPLY(5),

    /**
     * 退出回复包
     */
    DISCONNECT_REPLY(6),

    /**
     * 认证并加入
     */
    AUTH(7),

    /**
     * 认证回复包
     */
    AUTH_REPLY(8),

    RAW (9),
    PROTO_READY ( 10),
    PROTO_FINISH ( 11),
    CHANGE_ROOM ( 12),
    CHANGE_ROOM_REPLY ( 13),
    REGISTER ( 14),
    REGISTER_REPLY ( 15),
    UNREGISTER ( 16),
    UNREGISTER_REPLY ( 17),
    ERROR(-999)

    ;
    private Integer number;

    Option(Integer number){
        this.number=number;
    }
    public Integer getData(){
        return this.number;
    }

    public static Option parseOption(Integer number){
        Option[] values = values();
        for (int i=0;i<values.length;i++){
            if(values[i].getData().equals(number)){
                return values[i];
            }
        }
        return Option.ERROR;
    }
}
